package cn.com.chengmandian.bike.service;

import cn.com.chengmandian.bike.dto.MemberCardDto;
import cn.com.chengmandian.bike.model.EbMemberCard;
import cn.com.chengmandian.bike.model.EbRefundInfo;
import cn.com.chengmandian.bike.model.vo.MemberCardVo;
import cn.com.chengmandian.service.bike.form.RideCardRefundForm;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;

/**
 * <p>
 * 电单车运营平台骑行卡记录 服务类
 * </p>
 *
 * @author AutoGenerator
 * @since 2021-12-15
 */
public interface IEbMemberCardService extends IService<EbMemberCard> {
    MemberCardVo getMemberAvailableRecord(Integer areaId, Integer memberId);

    IPage<MemberCardVo> pages(MemberCardDto memberCardDto, Integer memberId);

    MemberCardVo detail(Integer id);

    EbMemberCard createCard(Integer payId,Integer memberId, Integer cardId, BigDecimal money, Integer sourceType, Integer sourceId);

    void costTimes(Integer cardRecordId, BigDecimal rideCardFreeMoney);

    void refund(RideCardRefundForm form);

    void rideCardRefundSuccess(EbRefundInfo ebRefundInfo, String payNo);

    EbMemberCard getByRedeemCode(Integer memberId, Integer redeemCodeId);

    void advanceGiveCard(Integer memberId, String mobile);
}
